草庐IT

Java Raw Type 和泛型交互

全部标签

c# - 如何从泛型类型中获取 <T> 的名称并将其传递给 JsonProperty()?

我在下面的代码中遇到以下错误:"Anobjectreferenceisrequiredforthenon-staticfield,method,orproperty'Response.PropName'"代码:publicclassResponse:Response{privatestringPropName{get{returntypeof(T).Name;}}[JsonProperty(PropName)]publicTData{get;set;}} 最佳答案 您尝试做的事情是可能的,但并非微不足道,并且不能仅使用JSON.NE

C#:使用泛型创建指针数组

大家下午好如果你愿意,可以提供一点帮助。为了规避.NET中的2Gb对象限制,我制作了一个在堆上分配内存的类,这允许我创建不超过可用RAM限制的数组。然而,为了便于开发(因为它是一个概念证明),它被硬编码了很长时间。现在它可以工作了,我一直在尝试更改代码以使用泛型,这样我就可以对多种类型使用相同的代码。在分配内存和正确索引数组时,我需要一个与数组将保存的类型相同的指针数组,即长数组需要long*[]myLargeArray。问题是当我使用泛型时,这个声明变成了T*[]myLargeArray,它总是产生错误'Cannottaketheaddressof,getthesizeof,orde

c# - 可以使用 C# 泛型来省略虚函数调用吗?

我同时使用C++和C#,我一直在想是否可以在C#中使用泛型来消除接口(interface)上的虚函数调用。请考虑以下事项:intFoo1(IListlist){intsum=0;for(inti=0;i(Tlist)whereT:IList{intsum=0;for(inti=0;i();Foo1(l);Foo2(l);在Foo1内部,每次访问list.Count和list[i]都会导致虚函数调用。如果这是使用模板的C++,那么在对Foo2的调用中,编译器将能够看到虚函数调用可以被省略和内联,因为在模板实例化时具体类型是已知的。但这同样适用于C#和泛型吗?当您调用Foo2(l)时,在编

c# - 将泛型函数作为参数传递

我知道我正在做的事情可以用不同的方式完成,但我很好奇事情是如何运作的。以下是无法编译的简化代码,但它应该显示我的目标。privatevoidExecute(){GeneralizedFunction("1","2",i=>Transform(i));}voidGeneralizedFunction(stringaStringA,stringaStringB,FuncaAction){Aresult1=aAction(aStringA);Bresult2=aAction(aStringB);//DosomethingwithAandBhere}TTransform(stringaStri

c# - 在泛型中实现算术?

是否可以在C#泛型中实现基本算术(至少是加法),就像您可以的那样withC++templates?我已经尝试了一段时间让它们启动并工作,但C#不允许您多次声明相同的泛型类型,就像您可以使用模板一样。广泛的谷歌搜索没有提供答案。编辑:谢谢,但我正在寻找一种在编译时进行算术运算的方法,在泛型类型中嵌入诸如教堂数字之类的东西。这就是为什么我链接了我所做的文章。在泛型中的算术,而不是在泛型实例上的算术。 最佳答案 不幸的是,您不能对泛型类型使用算术运算TAdd(Ta,Tb){returna+b;//compilererrorhere}不能在

c# - 使用 C# 运行交互式命令行 exe

我可以使用process.start()运行命令行进程。我可以使用标准输入提供输入。之后,当进程再次要求用户输入时,我的程序如何知道并将输入传递给该exe? 最佳答案 有一个examplehere使用Process.StandardInput和StreamWriter,这听起来与您需要的相似。ProcesssortProcess;sortProcess=newProcess();sortProcess.StartInfo.FileName="Sort.exe";//SetUseShellExecutetofalseforredire

c# - 泛型与继承(当不涉及集合类时)

这是thisquestion的扩展甚至可能是其他一些问题的重复(如果是这样,请原谅我)。我seefromMSDN泛型通常与集合一起使用Themostcommonuseforgenericclassesiswithcollectionslikelinkedlists,hashtables,stacks,queues,treesandsoonwhereoperationssuchasaddingandremovingitemsfromthecollectionareperformedinmuchthesamewayregardlessofthetypeofdatabeingstored.我

c# - 在泛型函数中使用重载的 operator==

考虑以下代码:classCustomClass{publicCustomClass(stringvalue){m_value=value;}publicstaticbooloperator==(CustomClassa,CustomClassb){returna.m_value==b.m_value;}publicstaticbooloperator!=(CustomClassa,CustomClassb){returna.m_value!=b.m_value;}publicoverrideboolEquals(objecto){returnm_value==(oasCustomCla

c# - 如何使用反射在泛型类型中动态确定属性属于基类还是子类?

我有以下两个类(模型),一个是基类,另一个是子类:publicclassBaseClass{publicstringBaseProperty{get;set;}}publicclassChildClass:BaseClass{publicstringChildProperty{get;set;}}在应用程序中,我使用泛型动态调用ChildClassListpropertyNames=newList();foreach(PropertyInfoinfointypeof(T).GetProperties()){propertyNames.Add(info.Name);}在这里,在prope

c# - 从服务中注销 Windows 中的交互式用户

我正在尝试找出一种方法,从用C#编写的Windows服务注销本地Windowssession中的用户。这是问题的背景:我需要管理一组用户的电脑使用时间;当他们分配的时间到期时,我想将他们注销。这是在W2K8域的上下文中。不幸的是,Windows中的登录时间控件只会断开用户与服务器资源的连接;无法通过此方法强制他们的session终止。我的方法是构建一个我将跨域部署的Windows服务;该服务将在每台客户端计算机上运行。该服务将定期枚举计算机上的登录用户,调用数据库以将自上次调用以来的登录时间添加到当天的总计中,如果已达到最大值,则将其注销(五分钟警告)。注意-这些不是终端服务sessi